#ifndef TURNSTEP_H
#define TURNSTEP_H

#include "Turnable.h"
#include "Direction.h"
#include "GameObject.h"
#include "Step.h"

class TurnStep: public Step
{
public:
	TurnStep();
	TurnStep(const TurnStep& rhs);
	virtual ~TurnStep();

	void SetObject(GameObject* object, Turnable* turnable);
	void SetDirection(const Direction& direction);

	virtual TurnStep* Clone() const;
	virtual void Execute();

private:
	Turnable* turnableInterface;
	GameObject* turnableObject;
	Direction turnDirection;
};

#endif //TURNSTEP_H
